import request from '@/config/axios'

// 账户信息 VO
export interface AccountVO {
  id: number // 唯一ID
  accountId: number // 账户ID
  accountName: string // 账号名称
  accountOwner: string // 账户主人
  accountRemark: string // 账号备注
  accountStartTime: Date // 账号启用日期
  accountStopTime: Date // 账号停用日期
  hasWater: number // 是否计入流水
  hasEnable: number // 是否启用
  moneyOwner: string // 资金归属
  accountType: string // 账户类型
  bankName: string // 银行名称
  bankCard: string // 银行卡号
  orderNum: number // 排序号
  logicParentAccount: string // 逻辑父账户
  remarkBalance: number // 标记余额
  remarkBalanceTime: Date // 标记余额时间
  extParam: string // 额外参数
}

// 账户信息 API
export const AccountApi = {
  // 查询账户信息分页
  getAccountPage: async (params: any) => {
    return await request.get({ url: `/bill/account/page`, params })
  },

  // 查询账户信息详情
  getAccount: async (id: number) => {
    return await request.get({ url: `/bill/account/get?id=` + id })
  },

  // 新增账户信息
  createAccount: async (data: AccountVO) => {
    return await request.post({ url: `/bill/account/create`, data })
  },

  // 修改账户信息
  updateAccount: async (data: AccountVO) => {
    return await request.put({ url: `/bill/account/update`, data })
  },

  // 删除账户信息
  deleteAccount: async (id: number) => {
    return await request.delete({ url: `/bill/account/delete?id=` + id })
  },

  // 导出账户信息 Excel
  exportAccount: async (params) => {
    return await request.download({ url: `/bill/account/export-excel`, params })
  }
}
